/**
 * 
 */
package ocumed.persistenz.tests;

import junit.framework.TestCase;
import ocumed.persistenz.dao.BenutzerDAO;
import ocumed.persistenz.dao.DAOFactory;
import ocumed.persistenz.hibernate.HibernateUtil;
import ocumed.persistenz.hibernate.OcBenutzer;
import ocumed.persistenz.hibernate.OcGruppe;

import org.hibernate.SessionFactory;

/**
 * @author rudi
 *
 */
public class TestBenutzer extends TestCase {
    
    /**
     * print them all
     */
    public void testAlleAerzte() {
        BenutzerDAO bDAO = DAOFactory.get(DAOFactory.RDBMS).getBenutzerDAO();
        bDAO.start();
        
        System.out.println("alle aerzte");
        for (OcBenutzer a : bDAO.findByGroup(BenutzerDAO.typArzt)) {
            
            System.out.println("=========");
            System.out.println("#" + a.getBenutzerid() + ": " + 
                    a.getBenutzervorname() + " " + a.getBenutzernachname());
            System.out.println("=========");
        }
    }
    
    /**
     * create a new one
     */
    public void testNeuerArzt() {
        SessionFactory sf = HibernateUtil.getSessionFactory();
        sf.getCurrentSession().beginTransaction();
        
        OcGruppe g = (OcGruppe) sf.getCurrentSession().get(OcGruppe.class, 1);
        OcBenutzer b = new OcBenutzer();
        b.setBenutzernachname("hibernate");
        b.setBenutzervorname("test");
        b.setBenutzerusername("newtest");
        b.setBenutzerpasswort("12345");
        b.setOcGruppe(g);
        
        Integer id = (Integer) sf.getCurrentSession().save(b);
        sf.getCurrentSession().getTransaction().commit();
        
        System.out.println("inserted id is ..." + id);
    }

}
